Ext.define('SistIntegral.RRHH.FrmDerechoHabiente', {

    alias: "FrmDerechoHabiente",
    forward: true,

    Formulario: function (btn) {

        var ComboVinculoFamiliar = new SistIntegral.Componentes.Objetos().ComboVinculoFamiliar();
        var ComboEstadoCivil = new SistIntegral.Componentes.Objetos().ComboEstadoCivil(btn);
        var ComboDiscapacidad = new SistIntegral.Componentes.Objetos().ComboDiscapacidad();
        var ComboEstudiante = new SistIntegral.Componentes.Objetos().ComboEstudiante();
        var ComboEstadoEsSalud = new SistIntegral.Componentes.Objetos().ComboEstadoEsSalud();
        var ComboNacionalidad = new SistIntegral.Componentes.Objetos().ComboNacionalidad();
        var ComboTipoDI = new SistIntegral.Componentes.Objetos().ComboTipoDI();
        var ComboAcreditaVinculoFamiliar = new SistIntegral.Componentes.Objetos().ComboAcreditaVinculoFamiliar();

        var StoreDerechoHabienteE = Ext.create('Ext.data.Store', {
            model: 'DerechoHabiente',
            proxy: {
                type: 'ajax',
                url: 'derechohabiente/IndexById/' + (btn.itemId == 'edit' ? btn.Seleccion.get('Id') : ''),
                reader: { type: 'json', root: 'Data' }
            }
        });

        StoreDerechoHabienteE.on('load', function (store, records) {
            Ext.getCmp('FormDerechoHabiente').loadRecord(records[0]);

            Ext.getCmp('CmbVinculoFamiliar').getStore().loadRecords(records);
            Ext.getCmp('CmbVinculoFamiliar').setValue(records[0].get('IdVinculo'));

            //Ext.getCmp('CmbTipoTrabajador').getStore().loadRecords(records);
            Ext.getCmp('CmbEstadoEsSalud').setValue(records[0].get('IdEstadoEsSalud'));

            Ext.getCmp('CmbNacionalidad').getStore().loadRecords(records);
            Ext.getCmp('CmbNacionalidad').setValue(records[0].get('IdNacionalidad'));

            Ext.getCmp('ComboTipoDI').getStore().loadRecords(records);
            Ext.getCmp('ComboTipoDI').setValue(records[0].get('IdTipoDI'));

            Ext.getCmp('CmbAcreditaVinculoFamiliar').getStore().loadRecords(records);
            Ext.getCmp('CmbAcreditaVinculoFamiliar').setValue(records[0].get('idacreditavinculofamiliar'));

//            Ext.getCmp('CmbHorario').getStore().loadRecords(records);
//            Ext.getCmp('CmbHorario').setValue(records[0].get('IdHorario'));

//            Ext.getCmp('CmbArea').getStore().loadRecords(records);
//            Ext.getCmp('CmbArea').setValue(records[0].get('IdArea'));

//            Ext.getCmp('CmbPosicion').getStore().loadRecords(records);
//            Ext.getCmp('CmbPosicion').setValue(records[0].get('IdPosicion'));

//            Ext.getCmp('CmbTipoPagoPlanilla').getStore().loadRecords(records);
//            Ext.getCmp('CmbTipoPagoPlanilla').setValue(records[0].get('IdTipoPagoPlanilla'));

//            Ext.getCmp('CmbPeriodicidadIngreso').getStore().loadRecords(records);
//            Ext.getCmp('CmbPeriodicidadIngreso').setValue(records[0].get('IdPeriodicidadIngreso'));
        });

        var Frm = Ext.create('Ext.form.Panel', {
            id: 'FormDerechoHabiente',
            bodyPadding: '5',
            fieldDefaults: {
                msgTarget: 'side',
                labelAlign: 'left',
                labelWidth: 100,
                anchor: '100%',
                margin: '0 5 5 5'
            },
            items: [{
                xtype: 'container',
                layout: 'vbox',
                padding: '0 0 0 0',
                defaults: {
                    margin: '0 0 0 0'
                },
                items: [ComboVinculoFamiliar]
            }, {
                xtype: 'container',
                layout: 'hbox',
                items: [{
                    xtype: 'textfield',
                    fieldLabel: 'Ape Paterno',
                    name: 'ApePaterno',
                    allowBlank: false,
                    flex: 1
                }, {
                    xtype: 'textfield',
                    fieldLabel: 'Ape Materno',
                    name: 'ApeMaterno',
                    allowBlank: false,
                    flex: 1
                }]
            }, {
                xtype: 'container',
                layout: 'hbox',
                items: [{
                    xtype: 'textfield',
                    fieldLabel: 'Nombres',
                    name: 'Nombre',
                    allowBlank: false,
                    flex: 1
                }, {
                    xtype: 'datefield',
                    fieldLabel: 'Fec. Nacimiento',
                    name: 'FechaNacimiento',
                    allowBlank: false,
                    flex: 1
                }]
            }, {
                xtype: 'container',
                layout: 'hbox',
                items: [ComboEstadoCivil, ComboDiscapacidad]
            }, {
                xtype: 'container',
                layout: 'hbox',
                items: [ComboEstudiante, ComboEstadoEsSalud]
            }, {
                xtype: 'container',
                layout: 'hbox',
                items: [{
                    xtype: 'datefield',
                    flex: 1,
                    name: 'FechaConvivencia',
                    allowBlank: true,
                    fieldLabel: 'Fec Convivencia'
                }, ComboNacionalidad]
            }, {
                xtype: 'container',
                layout: 'hbox',
                items: [ComboTipoDI, {
                    xtype: 'textfield',
                    fieldLabel: 'Numero DI',
                    name: 'NroDI',
                    allowBlank: false,
                    flex: 1
                }]
            }
            ,
            {
                xtype: 'container',
                layout: 'hbox',
                items: [ComboAcreditaVinculoFamiliar, {
                    xtype: 'textfield',
                    fieldLabel: 'Numero D.V.F',
                    name: 'nrodocumento',
                    allowBlank: true,
                    flex: 1
                }]
            },
            {
                xtype: 'container',
                layout: 'hbox',
                items: [{
                    xtype: 'filefield',
                    id: 'adjunto',
                    flex: 1,
                    emptyText: 'SELECCIONE ARCHIVO',
                    fieldLabel: 'Adjunto',
                    name: 'adjunto',
                    buttonText: '',
                    buttonConfig: {
                        iconCls: 'subirarchivo'
                    }
                }]
            }
            ,
         {
             xtype: 'hiddenfield',
             name: 'IdPersonal',
             value: btn.IdPersonal
         }],
            buttons: [{
                text: 'Guardar',
                iconCls: 'guardar',
                handler: function () {
                    var form = this.up('form').getForm();
                    if (form.isValid()) {
                        //Ext.getCmp()
                        form.submit({
                            url: btn.hrefTarget + (btn.itemId == 'edit' ? btn.Seleccion.get('Id') : ''),
                            success: function (form, action) {
                                Ext.getCmp('gridDerechohabiente' + btn.IdPersonal).getStore().load();
                                Ext.getCmp('WContratoAdenda').close();
                                Ext.MessageBox.show({
                                    msg: 'Registro Creado Correctamente...',
                                    progressText: 'Actualizando...',
                                    width: 300,
                                    icon: 'ext-mb-download'
                                });
                                setTimeout(function () {
                                    Ext.MessageBox.hide();
                                }, 1000);
                            },
                            failure: function (form, action) {
                                //console.log(action);
                                Ext.getCmp('gridDerechohabiente' + btn.IdPersonal).getStore().load();
                                Ext.getCmp('WContratoAdenda').close();
                                Ext.Msg.alert('Error', action.result.msg);
                            }
                        });
                    }
                }
            }, {
                text: 'Limpiar', iconCls: 'limpiar',
                handler: function () {
                    this.up('form').getForm().reset();
                }
            }]
        });
        if (btn.itemId == 'edit') { StoreDerechoHabienteE.load(); }
        //if (btn.itemId == 'createAdenda') { StoreContratoAdendaE.load({ url: 'contratoadenda/IndexByIdAdenda/' + btn.IdContrato }); }
        return Frm;
    },

    Window: function (btn) {
        var Seleccion;

//        Ext.Ajax.request({
//            url: 'contratoadenda/ComprobarSueldo/' + btn.IdPersonal,
//            success: function (httpReq) {
//                var textRes = httpReq.responseText;
//                var vector = textRes.split("#");
//                console.log(vector);
//                if (vector[0] != '0') {
//                    btn.sueldo = vector[0];
//                    //btn.idejerciciomes = vector[2];
//                }
//            }
//        });

        //console.log(btn.itemId);

        if (btn.itemId == 'edit') {
            Seleccion = Ext.getCmp('gridDerechohabiente' + btn.IdPersonal).getSelectionModel().getSelection()[0];
            if (!Seleccion) {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Derechohabiente',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
                return false;
            }
            else {
                //btn.hrefTarget = '';
//                if (Seleccion.get('Tipo') == 1) {
//                    btn.hrefTarget = 'contrato/edit/';
//                }
                //                else { btn.hrefTarget = 'adenda/edit/'; }
                btn.hrefTarget = 'derechohabiente/edit/';
                btn.Seleccion = Seleccion
            }
        } else if (btn.itemId == 'new') {
            btn.hrefTarget = 'derechohabiente/create/';
        }

        var Item = this.Formulario(btn);

        var win = Ext.create('widget.window', {
            id: 'WContratoAdenda',
            title: btn.getText(),
            closable: true,
            //bodyPadding:'5',
            border: false,
            width: 800,
            minWidth: 700,
            height: 310,
            minHeight: 310,
            layout: 'fit',
            modal: true,
            items: [Item]
        });

        return win.show();
    }
});